Dijkstra ’ s Shortest Path Algorithm

نویسنده

  • Jing-Chao Chen
چکیده

The underlying principle of the algorithm may be described as follows: the algorithm starts with the source; it visits the vertices in order of increasing cost, and maintains a set V of visited vertices (denoted by UsedVx in the article) whose cost from the source has been computed, and a tentative cost D(u) to each unvisited vertex u. In the article, the set of all unvisited vertices is denoted by UnusedVx. D(u) is the cost of the shortest path from the source to u in the subgraph induced by V ∪{u}. We denote the set of all unvisited vertices whose Dvalues are not infinite (i.e. in the subgraph each of which has a path from the source to itself) by OuterVx. Dijkstra’s algorithm repeatedly searches OuterVx for the vertex with minimum tentative cost (this procedure is called findmin in the article), adds it to the set V and modifies D-values by a procedure, called Relax. Suppose the unvisited vertex with minimum tentative cost is x, the procedure Relax replaces D(u) with min{D(u),D(u)+ cost(x,u)} where u is a vertex in UnusedVx, and cost(x,u) is the cost of edge (x,u). In the Mizar library, there are several computer models, e.g. SCMFSA and SCMPDS etc. However, it is extremely difficult to use these models to formalize the algorithm. Instead, we adopt functions in the Mizar library, which seem to be pseudo-codes, and are similar to those in the functional programming language, e.g. Lisp. To date, there is no rigorous justification with respect to the correctness of Dijkstra’s algorithm. The article presents first the rigorous justification.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An Improved Dijkstra Shortest Path Algorithm

An improved Dijkstra shortest path algorithm is presented in this paper. The improved algorithm introduces a constraint function with weighted value to solve the defects of the data structure storage, such as lots of redundancy of space and time. The number of search nodes is reduced by ignoring reversed nodes and the weighted value is flexibly changed to adapt to different network complexity. ...

متن کامل

Research on the Optimization and Simulation of the Shortest Path Based on Algorithm of Dijkstra

Dijkstra algorithm is a theoretical basis to solve transportation network problems of the shortest path, which has a wide range of application in path optimization. Through analyzing traditional Dijkstra algorithm, on account of the insufficiency of this algorithm in path optimization, this paper uses adjacency list and circular linked list with combination to store date, and through the improv...

متن کامل

A Multi-path Hybrid Routing Algorithm in Network Routing

The shortest path tree construction is essential in network routing, and the Dijkstra algorithm, which is a static routing algorithm, is widely used. When some links in a network have new weights, dynamic routing algorithms are more efficient than static routing algorithms. This is because the dynamic routing algorithms reduce redundancy by recomputing only the affected sections of the network ...

متن کامل

Traffic Network Optimal Scheduling Paths Based on Time Intervals Division

In order to make the network model was more fitting the actual condition of city traffic, this paper presents a dynamic transportation network model based on the traffic time division, and designs improved Dijkstra algorithm to solve the city traffic paths planning problem. Dijkstra algorithm is a typical singlesource shortest path algorithm is used to calculate a node to all other nodes in the...

متن کامل

Dijkstra ’ s shortest paths algorithm Vassos

Shown below is pseudocode for Dijkstra’s algorithm. The input is a directed graph G = (V,E) with nonnegative edge weights wt(u, v) for every edge (u, v) ∈ E, and a distinguished node s, called the source (or start) node. The algorithm computes, for each node u ∈ V , the weight of a shortest path from s to u. (It can be easily modified to compute, for each node u, the predecessor of u in a short...

متن کامل

Low-Stretch Spanning Tree on Benchmark Circuits

We show the testing results of Kruskal, Prim-Dijkstra for finding a low-stretch spanning tree for both unweighted graphs and weighted graphs transformed from benchmark circuits [1]. On unweighted graph, our implementation can get an average stretch of about 7 for all benchmark circuits. Kruskal’s algorithm gives good edge selection for finding short stretch edges, but does not work well for oth...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004